1. Field of the Invention
This invention relates generally to multiple-input multiple-output (MIMO) communication systems. More particularly, this invention relates to channel norm-based ordering and whitened decoding for MIMO communication systems.
2. Description of the Prior Art
Multiple-input multiple-output (MIMO) communication systems provide gain in capacity and quality compared to single-input single-output (SISO) communication systems. While a SISO system employs one transmitter and one receiver to receive the transmitted signal, a MIMO system in general uses Mt>=1 transmitters and Mr>=1 receivers. Thus the SISO system is a special case of a MIMO system, with Mt=Mr=1. Examples of MIMO systems include but are not limited to: 1. A communication system employing multiple-antennas at the transmitter and/or receiver; 2. A communication system employing orthogonal frequency division multiplexing (OFDM) or code division multiplexing (CDMA); 3. A time/frequency division multiple access system; 4. Any multiuser communication system; 5. Any combination of 1-4 above.
Typically, the MIMO systems consist of a MIMO transmitter that sends “multidimensional” symbol information. This multidimensional symbol could, but is not limited to, be represented by a vector (note that a matrix symbol can always be represented as a vector symbol by stacking the columns/rows of the matrix into a vector). The multidimensional symbol might represent one or more coded or uncoded data symbols corresponding to SISO transmitters. The transmitted signal propagates through the channel and is received and processed by a MIMO receiver. Note that the receiver could obtain multiple received signals corresponding to each transmitted symbol. The performance of the communication system hinges on the ability of the receiver to process and find reliable estimates of the transmitted symbol based on the received signals.
Definitions
As used herein, bolded capitol symbols, such as H, represent matrices.
As used herein, bolded lower-case symbols, such as s, represent vectors.
As used herein, T denotes matrix transposition.
As used herein, * denotes the matrix conjugate transpose operation.
As used herein, −l denotes the matrix inverse operation.
As used herein, if W is a matrix, Wm denotes the mth column of W.
As used herein, if W is a matrix, (WT)m denotes the mth row of W.
As used herein, if v is a vector, ∥v∥2, denotes the 2-norm of v.
As used herein, if Q(.) represents the symbol slicing function, it will be assumed to slice both single symbols and multi-dimensional symbol vectors.
As used herein, IM represents the M by M identity matrix.
As used herein, 0M×N represents the M by N matrix of zeros.
As used herein, if A and B are sets, then A|B is the set of all elements in A that are not in B.
For MIMO systems such as, but not limited to, the ones discussed herein above, the received signal can be written, after front end receive processing such as filtering, downconversion, AGC, synchronization etc., in the form
                              y          k                =                                            ∑              n                                                                    ⁢                                          H                n                            ⁢                              s                                  k                  -                  n                                                              +          v                                    (        1        )            where Hn is an Mr by Mt matrix of complex gains, sk is the Mt-dimensional symbol vector transmitted at time k, and v is a Mt-dimensional vector of additive noise. In narrowband wireless systems where the symbol period is much larger than the RMS delay spread as well as in OFDM systems where the inter-symbol interference is negligible due to the insertion of a cyclic prefix and/or guard interval, the channel from each transmit antenna to each receive antenna (per frequency bin in case of OFDM) is often modeled as a single-tap complex gain. In this case equation (1) simplifies toyk=Hsk+v  (2)where H is now an Mr by Mt matrix of complex numbers and Hsk is the matrix product of H and sk.
The receiver must estimate the symbol matrix S=[s1 . . . sT] in order to facilitate reliable communication. Examples, but by no means the only examples, of multidimensional symbols could be space-time codes where T>1 or spatial multiplexing systems with T=1 and independent SISO modulation on each transmit antenna. In case of no or negligible additive noise, v, and an invertible H, the estimation problem would reduce to that of inverting H. The presence of non-negligible noise, however, increases the difficulty in estimating S. Note that we have assumed that the receiver is has some estimate of H, that could be obtained by transmitting appropriate training sequences. The symbol matrix S is also assumed to be chosen from a finite set C of possible multidimensional symbols (this is typically the case as for e.g. where each element of S is chosen from a QAM symbol set).
The optimal solution in the sense of minimizing the probability of symbol error has been shown to be the maximum aposterior (MAP) decoder which in case of equiprobable symbol transmissions is equivalent to a maximum likelihood (ML) decoder. The ML decoder attempts to find S, the symbol matrix, by using the symbol matrix {tilde over (S)} that maximizes p({tilde over (S)}|y1, . . . , yT) where p (·|y1, . . . , ykT) is the conditional probability density function (pdf) of sk given y1, . . . , yT. In real-time communications systems, however, this type of decoder is overly computationally complex. Decoders that search over a set V of possible multidimensional symbols S and decode to the multidimensional symbol {tilde over (S)} in V that minimizes some sort of metric are denoted as minimum distance (MD) decoders. The MAP and ML decoders are MD decoders with V=C, where C is the set of all possible multidimensional symbols S.
Many algorithms that are computationally easier than ML decoding have been proposed in order to overcome the huge computational burden of ML decodings. Algorithms that perform some form of reduced complexity decoding will be referred to herein as sub-optimal decoders. An example of a suboptimal decoder is successive interference cancellation (SIC) method. A receiver using SIC decodes each symbol within the symbol vector one at a time. After each symbol is decoded, its approximate contribution to the received vector is subtracted in order to improve the estimate of the next symbol within the symbol vector. The order of symbol decoding and subtraction could be arbitrary or based on rules such as maximization of pre/post processing SNR etc.
An example of an SIC receiver is the ordered iterative minimum mean squared error (IMMSE) receiver. With a single-tap channel, the receive signal is given by equation (2) above. Letting sk=[s1 s2 . . . sMr]T, the ordered IMMSE operates using the following steps, letting yk,0=yk, D0={1,2, . . . , Mt}, and Hk(0)=H.                1. Set m=0.        2. Compute Wm=(Hk(m)*Hk(m)+pIMt−m)−1Hk(m)*.        
                                                                                        ⁢                                                      3.                    ⁢                                                                                  ⁢                    Let                    ⁢                                                                                  ⁢                    n                                    =                                      arg                    ⁢                                                                                  ⁢                                                                  min                                                  i                          ∈                                                      D                            0                                                                                              ⁢                                                                                                                                                                                              (                                                                  W                                                                                                            (                                      m                                      )                                                                        ⁢                                    T                                                                                                  )                                                            i                                                                                                            2                                                .                                                                                                                                                                                    ⁢                                                      4.                    ⁢                                                                                  ⁢                    Set                    ⁢                                                                                  ⁢                                                                                            s                          ~                                                                          k                          ,                          n                                                                    ·                                                        =                                                            Q                      ⁡                                              (                                                                                                            y                                                              k                                ,                                m                                                            T                                                        ⁡                                                          (                                                              W                                                                                                      (                                    m                                    )                                                                    ⁢                                  T                                                                                            )                                                                                i                                                )                                                              .                                                                                                                              ⁢                                                    5.                ⁢                                                                  ⁢                Set                ⁢                                                                  ⁢                                  y                                      k                    ,                                          m                      +                      1                                                                                  =                                                y                                      k                    ,                    m                                                  -                                                      H                                          k                      ,                      n                                                              (                      m                      )                                                        ⁢                                                            s                      ~                                                              k                      ,                      n                                                                                            ,                                          D                                  m                  +                  1                                            =                                                D                  m                                ⁢                \                ⁢                                  {                  n                  }                                                      ,                                                  ⁢            and                    ⁢                                                                        ⁢                  H        k                  (                      m            +            1                    )                    =                        [                                    H                              k                ,                1                                            (                                  m                  +                  1                                )                                      ⁢                          H                              k                ,                2                                            (                                  m                  +                  1                                )                                      ⁢                                                  ⁢            …            ⁢                                                  ⁢                          H                              k                ,                                  n                  -                  1                                                            (                                  m                  +                  1                                )                                      ⁢                          0                              M                ⁢                                                                  ⁢                r                ×                1                                      ⁢                          H                              k                ,                                  n                  +                  1                                                            (                                  m                  +                  1                                )                                      ⁢                                                  ⁢            …            ⁢                                                  ⁢                          H                              k                ,                                  M                  ⁢                                                                          ⁢                  t                                                            (                                  m                  +                  1                                )                                              ]                .                            6. Repeat steps 1-5 for m<Mt.        7. Set the decoded symbol vector to {tilde over (s)}k=[{tilde over (s)}k,1 {tilde over (s)}k,2 . . . {tilde over (s)}k,M1]T.Regarding the above algorithm, it is important to note that Hk,i(m+1) denotes the ith row of the matrix Hk(m+1) (time k and iteration m+1). Another example among sub-optimal decoders is the zero-forcing decoder which decodes to the symbol {tilde over (s)}k=Q(H−1yk). This decoder is usually considered the worst performing and least complex of the sub-optimal decoders.        
Sub-optimal techniques unfortunately differ in diversity order from ML decoding (i.e. the asymptotic slope of the average probability of bit error curve). They essentially trade reduced complexity for reduced performance.
In view of the foregoing, it is both advantageous and desirable to provide a lower complexity iterative decoder with channel norm based ordering that performs approximately the same as the iterative minimum mean squared error (IMMSE) decoder.